// 引入框架
const Koa = require('koa')
// 引入静态中间件
const serve = require('koa-static')

const { historyApiFallback } = require('koa2-connect-history-api-fallback')

const proxy = require('koa2-proxy-middleware')

// 创建服务器实例
const app = new Koa()

// 处理 vue 因为 history 模式量顺子
// 造成的 not found 问题
app.use(historyApiFallback({
  // 这个中间件只负责处理页面的请求
  // api请求应该在白名单内, 直接放过
  whiteList: ['/api']
}))

// 配置代理中间件, 所有带有 api 的请求都转发到数据服务器
app.use(proxy({
  targets: {
    '/api/(.*)': {
      // target: 'http://ihrm-java.itheima.net',
      target: 'http://localhost:3000',
      changeOrigin: true
    }
  }
}))

// 设定静态文件的目录
app.use(serve(__dirname + '/public'))

// 运行服务器
app.listen(3333, ()=>{
  console.log('服务器开启成功');
  console.log('http://localhost:3333');
})